import Vue from 'vue'
import Vuex from 'vuex'
import user from './user'
import cart from './cart'
Vue.use(Vuex)

 const store = new Vuex.Store({
  modules: {
    user, cart
  }
})

// 监听所有 mutations 变化
store.subscribe((mutation, state) => {
  console.log('[Mutation]', mutation.type) // 打印所有 mutation 类型
  // 只响应购物车模块的 mutations
  const cartMutations = ['addCart', 'cartremove','cartadd'];
  // if (mutation.type.startsWith('cart/')) {    //如果只有当执行addCart时才缓存，其他操作不缓存 ，写成if (mutation.type === 'cart/addCart') {
  //   console.log('[Mutation]');
    
  //   // 将购物车数据保存到 localStorage
  //   localStorage.setItem('cart', JSON.stringify(state.cart.list))
  // }
  if (cartMutations.includes(mutation.type)) {    
    // 将购物车数据保存到 localStorage
    localStorage.setItem('cart', JSON.stringify(state.cart.list))
  }
  
})

export default store 
